דף הבית  >> 
 >> 

הרשם  |  התחבר


למה כל מתכנת צריך ללמוד שפת C 

מאת    [ 11/06/2018 ]

מילים במאמר: 548   [ נצפה 9411 פעמים ]

לפני שנתחיל, נדבר על הכותרת של המאמר הזה כי חלקכם בוודאי חושבים שהשתגעתי.

נדבר על זה באנלוגיה לאפיית לחם - אתם יכולים לקנות מכונה שמכינה לחם ולהכין ממיקס מוכן או שאתם יכולים לקחת קערה, קמח, שמרים ומצרכים נוספים, לערבב, ללוש, לפתוח, לקלוע ולהכניס לתנור.

אם אתה רוצה לחם טרי, האפשרות הראשונה תתן לך את זה במהירות ובקלות. אבל, אם אתה רוצה להבין ולחוות את כל התהליך שמתרחש מתחת לפני השטח לפני שמגיעים למוצר הסופי אתה צריך להשקיע קצת בעבודה על המוצר.

זה דומה מאוד לעבודה עם שפות תכנות ובמיוחד שפת C. אתה צריך לחפור עמוק ו"ללכלך את הידיים" אבל אתה מסיים עם הבנות עמוקות לגבי התהליך.

בנוסף, יש ליצור הבחנה בין מי שמעוניין ללמוד שפת תכנות כלשהי (זה שרק רוצה לחם טרי), לבין מי שחפץ להיות מתכנת רב-לשוני (האופה בנשמה). ואל תבינו אותי לא נכון, כל שפת תכנות שתלמדו (גבוהה ככל שתהיה) כמו Python או Javascript, תהפוך אתכם למתכנתים. ועדיין האתגר האמיתי לרוב המתכנתים הוא להיות MASTER בשפת בסיס כמו שפת C.

אחרי שהסברנו את זה ננסה לפרט את היתרונות של לימוד שפת C:

כשאתה לומד שפות גבוהות יותר משפת C אתה באופן אוטומטי מתרחק מהיסודות של שפת התכנות ולחילופין, אתה לומד יותר ספריות ו-Frameworks.

עם שפת C את מתעסק בכך הרבה פחות ואתה הרבה יותר מתמקד בסמנטיקה של הקוד. שפת C לרוב "מכריחה" אותך לחשוב יותר לעומק לגבי מה שקורה מתחת למכסה המנוע.

C היא שפה נמוכה יחסית, כשאנשים מדברים על C לרוב הם ישתמשו בביטויים כמו: "לתכנת לברזל" או "לתכנת קרוב לחוטים". C היא השפה בה משתמשים קומפיילרים, מערכות הפעלה, עורכים ומערכות Embedded.

פשטות ומהירות

שפת C היא שפה בסיסית, פשוטה, אלגנטית ומהירה ביותר. היא קומפקטית ויעילה מאוד. שפת Cתומכת במצביעים, פעולות על ביטים ומילות מפתח כמו: extern, volatile, static, and register. עם שפת C אתה תבין הרבה יותר טוב כיצד לכתוב קוד יעיל מאשר עם שפה גבוהה יותר.

הדבר היחיד שילמד אותך את הדברים הללו באותו אופן היא שפת אסמבלי, ועם הטכנולוגיות והדרישות היום אני לא מאחלת את זה לאף אחד.

הסינטקס של C היא הסיבה לכך שמתכנתים מדברים על "משפחה של שפות C" שכולל בדרך כלל שפות כמו: C, C++, C#, Java, Javascript ועוד.

משמעת

שפת C יכולה להיות לפעמים תובענית, מתוחכמת ולפעמים ממש סתומה, כלומר לא מובנת. אתה יכול בקלות לכתוב קוד בC שיהיה קשה להבין ולקרוא. אבל, וכאן הנקודה החשובה, אתה לא חייב!

לכתוב קוד שניתן לתחזוק בC דורש משמעת קוד. אחרת מציאה ותיקון של נקודה ופסיק חסרים או נוספים ב- C יכולה לפעמים להיות משימה נוראית.

פחות הסחות דעת

C היא לא שפה מונחית עצמים אז דעתך לא מוסחת מדברים כמו ירושה או פולימורפיזם. זה לא שדברים אלו לא חשובים, זה פשוט שיש אפשרות לגרום לדברים להיות יותר פשוטים כשלומדים קודם תכנות בסיסי. למעשה, ברגע שלמדת C וכתבת מספר תכניות Embedded על בורדים, ללמוד C++ זה הצעד הטבעי הבא.

פיתוח מערכות Embedded

היתרון האחרון של למידת שפת C הוא היכולת ליצור מערכות Embedded. כמתכנת אני תמיד מקבלת סיפוק כשאני מטמיעה קטע קוד שעבדתי עליו. לגרום למחשב לעשות מה שאתה רוצה יכול להיות מספק מאוד. אבל כשאני משלבת את קוד הEmbedded שלי עם חומרה שגורמת לדברים לקרות מחוץ למחשב (כמו להניע יד רובוטית) אני מקבלת ריגוש שאין דומה לו. הריגוש הזה מתקבל רק בגלל שאני יודעת לתכנת בשפת C.

טלי מיכאלי


Real-Time Group




מאמרים חדשים מומלצים: 

חשיבות היוגה לאיזון אורח חיים יושבני  -  מאת: מיכל פן מומחה
היתרונות של עיצוב בית בצורת L -  מאת: פיטר קלייזמר מומחה
לגלות, לטפח, להצליח: חשיבות מימוש פוטנציאל הכישרון לילדים עם צרכים מיוחדים -  מאת: עמית קניגשטיין מומחה
המדריך לניהול כלכלת משק בית עם טיפים ועצות לניהול תקציב -  מאת: נדב טל מומחה
חשבתם שרכב חשמלי פוטר מטיפולים.. תחשבו שוב -  מאת: יואב ציפרוט מומחה
מה הסיבה לבעיות האיכות בעולם -  מאת: חנן מלין מומחה
מערכת יחסים רעילה- איך תזהו מניפולציות רגשיות ותתמודדו איתם  -  מאת: חגית לביא מומחה
לימודים במלחמה | איך ללמוד ולהישאר מרוכז בזמן מלחמה -  מאת: דניאל פאר
אימא אני מפחד' הדרכה להורים כיצד תוכלו לנווט את קשיי 'מצב המלחמה'? -  מאת: רזיאל פריגן פריגן מומחה
הדרך שבה AI (בינה מלאכותית) ממלאת את העולם בזבל דיגיטלי -  מאת: Michael - Micha Shafir מומחה

מורנו'ס - שיווק באינטרנט

©2022 כל הזכויות שמורות

אודותינו
שאלות נפוצות
יצירת קשר
יתרונות לכותבי מאמרים
מדיניות פרטיות
עלינו בעיתונות
מאמרים חדשים

לכותבי מאמרים:
פתיחת חשבון חינם
כניסה למערכת
יתרונות לכותבי מאמרים
תנאי השירות
הנחיות עריכה
תנאי שימוש במאמרים



מאמרים בפייסבוק   מאמרים בטוויטר   מאמרים ביוטיוב